1. Field of the Invention
The present invention relates to a robot control apparatus for teaching and controlling the operation a teaching-playback type robot.
2. Description of Related Art
(1) Difficulty of Programming
An example of the conventional type of teaching-playback robot is a paint-gun robot which follows an S-shaped tack according to teaching data (program) to carry out a painting task. To program the painting robot for the painting task, an operator must allow for the so-called overspray width of an object at the end of a paint pass in which the return travel tends to produce a heavy deposit of paint if the turn-around point is chosen at the edge of the workpiece. This problem is usually corrected by displacing the turn-around point slightly away from the edge.
In some robotic painting devices, the overspray width is allowed for in the program as a stored constant which forms a basis of painting instructions to the painting robot.
In these conventional robotic painting devices, if the overspray width allowance is made large, the required motion range is often beyond the motion capability range of the robot, leading to a problem of frequent shut-down of the painting facility. If the allowance is made too small, paint drips tend to be produced near the turn-around spot.
For these reasons, it has been difficult for a beginner to choose a proper value of overspray width, and experts are often needed to prepare appropriate teaching data, thus presenting a problem of inflexibility in manpower usage.
Furthermore, for each change in painting speed, it was necessary to readjust the overspray allowance to accommodate the new speed, thus presenting a problem of time-consuming programming.
(2) Difficulty of Reprogramming
Preparation of teaching data for conventional industrial robots to handle complex shaped workpieces are based on teaching the fine details of the features (points) of the work track, and memorizing such information as the position of each point (coordinates) and the paint track generation data in the memory by means of a central command post. When the teaching data are to be altered, changes are made to the positional data of the points and many other data. In the following, the above method of teaching by the central command of the robotic device is referred to as the multipoint teaching method.
The multi-point teaching method applied to a painting robot will be explained with reference to FIGS. 24 to 26. FIG. 24 shows an arrangement of workpieces 3a (target pieces) of a rectangular shape placed on a metal screen 50 disposed on a work platform 3. Using a painting robot (not shown) which has been instructed by the multipoint method, the workpieces 3a are painted by a painting gun (not shown) disposed at a distance h from the workpieces 3a and moving along a S-shaped track L as illustrated in FIG. 24.
The operator, from a control panel (not shown), teaches the robot successive points PS1 to PS6 along the track L shown in FIG. 25. The controller then commands an internal memory unit to memorize the positional data of each of the points PS1.about.PS6 in a configuration as shown in FIG. 26, for example. The operator then enters, through the control panel, track generation data (speed, positioning between points and interpolation etc), and paint gun on/off data and other input/output data (i/o data) for the operational control of the painting robot to be memorized in the internal memory unit for each of the points PS1.about.PS6 as shown in FIG. 26. In FIG. 26, "n" is the number of points which is 6 in this case. Painting is performed on the workpieces 3a between a pass such as between point PAS1.about.PAS2, PAS3.about.PAS4 and PAS5.about.PAS6 arranged on the track L.
Although the preparation of teaching data according to the multipoint teaching method illustrated above has an advantage that a workpiece of a complex shape can be handled through a control panel, even for a relatively simple task illustrated in FIG. 24 requires teaching of many successive points. As the number of passes increases, the number of points to be memorized also increases, correspondingly increasing the requirements for memory units (manifested in the number of floppy disks FD for example). This presented a problem that many FD must be prepared with labor-intensive programming effort.
To resolve such problems caused by the labor-intensive nature of the multipoint method, a four-point teaching method has recently come to be utilized. With reference to FIG. 27, the four-point teaching method will be explained below.
Briefly, the basic working area is defined as a rectangular surface composed of four points PS1.about.PS4 as shown in FIG. 27, and the operator enters positional data in the robot controller (controller hereinbelow) for the successive points PS1 to PS4 as well as the number of passes to be made. The robot then computes the work track necessary to carry out the task automatically. This will be further explained below.
In more detail, when the operator enters the positional data successively from PS1 to PS4 into the controller, which memorizes the positional data in its memory unit as shown in FIG. 28. The operator then enters speed v, number of passes M through the control panel, and the controller memorizes the data in its memory unit as shown in FIG. 28. From the input data, the controller automatically computes the track necessary to carry out the task within the work range.
The method of computation is as follows. The number of passes required is designated by M having each pass labelled as m (where m=1.about.M), then the start point and the end point are given by equations 1 and 2 below. EQU PSm1=PS1+(m-1) (PS4-PS1)/(M-1) (1) EQU PSm2=PS2+(m-1) (PS3-PS2)/(M-1) (2)
If the number of passes M is set to 3, the start point for the PAS1.about.PAS3 (points PS11, PS21, PS31) and the end point (points PS12, PS22, PS32) are given by setting M=3 and successively substituting 1.about.3 for the value of m in equations 1 and 2. That is, EQU PS11=PS1+0 (PS4-PS1)/2=PS1 EQU PS12=PS2+0 (PS3-PS2)/2=PS2 EQU PS21=PS1+1 (PS4-PS1)/2=PS1 EQU PS22=PS2+1 (PS3-PS2)/2 EQU PS31=PS1+2 (PS4-PS1)/2=PS4 EQU PS32=PS2+0 (PS3-PS2)/2=PS3
The data preparation by the four-point teaching method has an advantage that the amount of data which must be stored in the internal memory of the controller is relatively small and the consumption of FD is correspondingly less and that the number of teaching steps required by the operator is also less. However, when a painting task is actually carried out using the data prepared by the four-point method, there are instances of uneven painting, caused by such factors as minute misalignment in the positional data. When this problem occurs, it is necessary to readjust the positional data of the points, but the four-point method has a disadvantage that it lack the ability to adjust positional data individually for each track point. Therefore, the method is incapable of improving the painting quality.
To resolve this deficiency in the four-point method, there is an alternative method called amendable four-point method. This method will be explained below.
Data preparation by the amendable four-point method follows the basic steps of the four-point method explained above, but the data are arranged differently in the memory. After obtaining all of the positional data by the use of equations 1 and 2 (the points PS11.about.PS32 for the case shown in FIG. 29) together with the operational data such as speed and the track generation data, the data are stored in the same format as the multipoint method shown in FIG. 26. This type of memory format allows point corrections while maintaining the simple methodology of the amendable four-point method.
However, although the method of data preparation by the amendable four-point method facilitated the teaching steps and offered an ability to correct point data, the approach of entering the data through the control panel of a robot still left an unresolved problem of high memory consumption.
(3) Difficulty of Reviewing and Real-Time-Reprogramming
FIG. 30 is a perspective illustration of a painting task carried out on workpiece 3a by the tip of a paint gun 2 moving along a track (painting track hereinbelow).
The paint gun 2 moves in an X-Y plane from point PT1 to PT2 while spraying paint on workpieces 3a disposed on a rectangular metal screen 50. Spraying is stopped while the paint gun 2 moves from PT2 to PT3. The same sequence, i.e. spraying paint only when moving in the X-direction, is repeated to complete the move from PT3 to PT8 along the track shown in FIG. 30. The process of track generation of the movement of the tip of the paint gun 2, referred to as the tip trace, shown in FIG. 30 by the four-point method will be explained below.
The operator sets the operational mode of the controller to the teaching mode using a teaching pendant (not shown) and teaches the positional data of the corners A.about.D of the metal screen 50 and the standby position PT0 of the tip of the paint gun 2 when the robot assumes a standby stance. (The corners A.about.D and the standby position PT0 are referred to as teaching point hereinbelow.) More specifically, the operator, with the use of the keys provided on the teaching pendant such as the coordinate designation by the X-key, Y-key, Z-key, together with a plus-key, a minus-key for the directional data, actually moves the tip of the paint gun to the corner positions A.about.D and the standby position PT0, and presses the define-key to input the coordinates of the points.
Next, the operator, again with the use of the teaching pendant, specifies the painting conditions such as moving speed of the paint gun 2, the number of tracks in the X-direction shown in FIG. 30, which is the pass, overspray width W, volume of spray of the paint, reproduction-start timing and others. Entering of the name of the teaching data prompts the controller to complete the teaching data based on the input data.
When programming is completed, the operator sets the operational mode of the controller to reproduction mode to reproduce the teaching data so as to make the robot 1 actually carry out the painting operation. The operator checks to confirm the operational parameters such as painting track, the volume of paint deposited on the workpiece 3a and uniformity and the like quality of the workpiece, and if there are no problems, the operator completes the programming task.
However, it is rare that one teaching is sufficient to achieve the end results that are intended by the operator, and frequently, there are problems in proper defining of the points, as well as slight mismatching in setting operational parameters such as the separation distance between the tip of the paint gun 2 to the workpiece 3a and the width W of overspray (refer to FIG. 30) resulting in problems in painting track and the painting quality. When such problems arise, the operator must again set the operational mode of the controller to the teaching mode to repeat the teaching task, including teaching of points and resetting of the painting parameters.
Therefore, it is usual that the process of "teaching reproduction of teaching data reteaching to correct teaching data" is repeated many times before a satisfactory product quality can be achieved.
It is therefore necessary to allow for such repeat process of teaching and correction process to be a norm in any operating environment in the conventional system.
The corrections process requires the operator to undertake cumbersome steps of switching the mode, saving, selecting and reading-in of teaching data as well as checking or adjusting of standby position PT0 and the moving speed of the paint gun 2.
The result is that the operator is subjected to numerous chances for making errors while carrying out corrections in the teaching data, such as loss of data and erroneous entries, because of the sheer number of repetitive steps which must be checked and rechecked.
A further serious problem in the conventional robotic painting systems using the robot control panel is that there is no provision for performing real-time-correction of the teaching data while observing the action of the manipulator during the program reproduction phase. Therefore, it is difficult for the operator to relate the current positional data requiring the corrections to the exact coordinates on the actual track. Furthermore, when the manipulator is being activated in an assembly line, the entire line has to be stopped to reprogram the robotic device.